<?php

namespace app\common\model\auth;

use app\common\model\BaseModel;
use think\facade\Db;

class GroupModel extends BaseModel
{
    protected $table = 'auth_group';

    /**
     * 添加用户组
     * @param $data
     * @return GroupModel|\think\Model
     * @throws \Exception
     */
    public function add($data)
    {
        if (!isset($data['module'])) exception('请指定用户组模块');
        return self::create($data);
    }

    /**
     * 更新用户组
     * @param $data
     * @return GroupModel
     */
    public function edit($data)
    {
        return self::update($data);
    }

    /**
     * 删除用户组
     * @param $id
     * @param null $module
     * @throws \Exception
     */
    public function del($id, $module = null)
    {
        if (empty($module)) $module = $this->where('id', $id)->value('module');
        $user = Db::table("user_{$module}")->where('group_id', $id)->find();
        if (!empty($user)) exception('该用户组正在使用，不允许删除');
        $this->where('id', $id)->delete();
    }

}